# Load all importance packages
import geopandas
import numpy as np
import pandas as pd
from shapely.geometry import Point
import missingno as msn
import seaborn as sns
import matplotlib.pyplot as plt
% matplotlib inline
road = geopandas.read_file("data/toronto_canada_roads.geojson")
neibour = geopandas.read_file("data/Neighbourhoods.geojson")
#admin = geopandas.read_file("data/toronto_canada_admin.geojson")
build = geopandas.read_file("DA/toronto_canada_osm_buildings.shp")
#land = geopandas.read_file("data/toronto_canada_landusages.geojson")
#places = geopandas.read_file("DA/toronto_canada_osm_places.shp")
#country = geopandas.read_file("data/toronto_canada_places.geojson")
#country = geopandas.read_file("data/toronto_canada_places.geojson")
road.head()
#type(country)
neibour.head()
fig, ax = plt.subplots(figsize=(150,120))
neibour.plot(ax=ax,color='Gray')
#base =road.plot(ax=ax,color ='white');
#places.plot(ax=base);
#build.plot(ax=base);
#land.plot(ax=base);
#ax.autoscale(enable=True)
florence = pd.read_csv('data/df_cleaned.csv')
florence.head()
florence = florence.drop(['event_unique_id', 'MCI', 'event_unique_id'], axis=1)
florence
florence['coordinates'] = florence[['X', 'Y']].values.tolist()
florence.head()
florence['coordinates'] = florence['coordinates'].apply(Point)
florence.head()
florence = geopandas.GeoDataFrame(florence, geometry='coordinates')
florence.head()
florence.plot(figsize=(20,10));
fig, ax = plt.subplots(1, figsize=(130,200))
base = country.plot(ax=ax, color='Gray')
florence.plot(ax=base, color='Black', marker="*", markersize=100);
police = geopandas.read_file("data/Police Facility Locations.geojson")
police.head()
police.plot(figsize=(30,20), color='#3B3C6E')
fig, ax = plt.subplots(1, figsize=(130,200))
base = country.plot(ax=ax, color='Gray')
florence.plot(ax=base, color='Black', marker="*", markersize=100);
police.plot(ax=base, color='RED',markersize=2200)
_ = ax.axis('off')
plt.legend()
ax.set_title("Crime whithin police radius", fontsize=25)
policeboun = geopandas.read_file("data/Police Boundaries Data.geojson")
policeboun.head()